package com.entmanage.base.collegeco.service.impl;

import java.util.List;
import com.entmanage.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.entmanage.common.utils.SecurityUtils;
import com.entmanage.base.collegeco.mapper.CollegecoInternWeeklyLogMapper;
import com.entmanage.base.collegeco.domain.CollegecoInternWeeklyLog;
import com.entmanage.base.collegeco.service.ICollegecoInternWeeklyLogService;

/**
 * 实习周报（每周提交一次）Service业务层处理
 *
 * @author lsq
 * @date 2025-08-06
 */
@Service
public class CollegecoInternWeeklyLogServiceImpl implements ICollegecoInternWeeklyLogService
{
    @Autowired
    private CollegecoInternWeeklyLogMapper collegecoInternWeeklyLogMapper;

    /**
     * 查询实习周报（每周提交一次）
     *
     * @param logId 实习周报（每周提交一次）主键
     * @return 实习周报（每周提交一次）
     */
    @Override
    public CollegecoInternWeeklyLog selectCollegecoInternWeeklyLogByLogId(Long logId)
    {
        return collegecoInternWeeklyLogMapper.selectCollegecoInternWeeklyLogByLogId(logId);
    }

    /**
     * 查询实习周报（每周提交一次）列表
     *
     * @param collegecoInternWeeklyLog 实习周报（每周提交一次）
     * @return 实习周报（每周提交一次）
     */
    @Override
    public List<CollegecoInternWeeklyLog> selectCollegecoInternWeeklyLogList(CollegecoInternWeeklyLog collegecoInternWeeklyLog)
    {
        return collegecoInternWeeklyLogMapper.selectCollegecoInternWeeklyLogList(collegecoInternWeeklyLog);
    }

    /**
     * 新增实习周报（每周提交一次）
     *
     * @param collegecoInternWeeklyLog 实习周报（每周提交一次）
     * @return 结果
     */
    @Override
    public int insertCollegecoInternWeeklyLog(CollegecoInternWeeklyLog collegecoInternWeeklyLog)
    {
        // 保存用户和部门id
        collegecoInternWeeklyLog.setUserId(SecurityUtils.getUserId());
        collegecoInternWeeklyLog.setDeptId(SecurityUtils.getDeptId());
        collegecoInternWeeklyLog.setCreateTime(DateUtils.getNowDate());
    collegecoInternWeeklyLog.setCreateBy(SecurityUtils.getUsername());
        return collegecoInternWeeklyLogMapper.insertCollegecoInternWeeklyLog(collegecoInternWeeklyLog);
    }

    /**
     * 修改实习周报（每周提交一次）
     *
     * @param collegecoInternWeeklyLog 实习周报（每周提交一次）
     * @return 结果
     */
    @Override
    public int updateCollegecoInternWeeklyLog(CollegecoInternWeeklyLog collegecoInternWeeklyLog)
    {
        collegecoInternWeeklyLog.setUpdateTime(DateUtils.getNowDate());
    collegecoInternWeeklyLog.setUpdateBy(SecurityUtils.getUsername());
        return collegecoInternWeeklyLogMapper.updateCollegecoInternWeeklyLog(collegecoInternWeeklyLog);
    }

    /**
     * 批量删除实习周报（每周提交一次）
     *
     * @param logIds 需要删除的实习周报（每周提交一次）主键
     * @return 结果
     */
    @Override
    public int deleteCollegecoInternWeeklyLogByLogIds(Long[] logIds)
    {
        return collegecoInternWeeklyLogMapper.deleteCollegecoInternWeeklyLogByLogIds(logIds);
    }

    /**
     * 删除实习周报（每周提交一次）信息
     *
     * @param logId 实习周报（每周提交一次）主键
     * @return 结果
     */
    @Override
    public int deleteCollegecoInternWeeklyLogByLogId(Long logId)
    {
        return collegecoInternWeeklyLogMapper.deleteCollegecoInternWeeklyLogByLogId(logId);
    }
}
